package cn.jbolt.core.consts;

import java.util.HashMap;
import java.util.Map;

public interface JBoltConst {
	String JBOLT_VERSION = "1.1.0";
	String JBOLT_DEFAULT_SYSTEM_NAME="JBolt极速开发平台";
	String JBOLT_DEFAULT_SYSTEM_COPYRIGHT_COMPANY="@JBolt(jbolt.cn)";
	String JBOLT_DEFAULT_SYSTEM_COPYRIGHT_LINK="http://jbolt.cn";
	String JBOLT_DEFAULT_DOMAIN_PUT_ON_RECORD_LINK="http://beian.miit.gov.cn/";
	String JBOLT_CACHE_DEFAULT_NAME = "jbolt_cache";
	String JBOLT_CACHE_DEFAULT_PREFIX = "jbc_";
	String JBOLT_CAPTCHA_CACHE_PREFIX = "jbcap_";
	boolean JBOLT_DEFAULT_CHECK_JWT_API_USER_EFFECTIVE_ENABLE = false;
	String JBOLT_DEFAULT_CHECK_JWT_API_USER_EFFECTIVE_TOKEN = "jbolt";
	/**
	 * 验证码类型-默认
	 */
	String JBOLT_CAPTCHA_TYPE_DEFAULT = "default";
	/**
	 * 验证码类型-GIF动态
	 */
	String JBOLT_CAPTCHA_TYPE_GIF = "gif";

	/**
	 * 验证码类型-气泡PNG
	 */
	String JBOLT_CAPTCHA_TYPE_BUBBLE_PNG = "bubble_png";

	/**
	 * 验证码类型-数字运算PNG
	 */
	String JBOLT_CAPTCHA_TYPE_NUMBER_CALC = "number_calc";
	/**
	 * 验证码类型-中文数字运算PNG
	 */
	String JBOLT_CAPTCHA_TYPE_NUMBER_CALC_CN = "number_calc_cn";
	String CHECKBOX_ON = "on";
	String HTTPS = "https";
	String HTTP = "http";
	String DOT_CSS = ".css";
	String DOT_JS = ".js";
	String WWW = "www";
	String MHSP = "://";
	String HTTPS_MHSP = "https://";
	String HTTP_MHSP = "http://";
	String MH = ":";
	String DOT_HTML = ".html";
	char SLASH = '/';
	String SLASH_STR = "/";
	String DOT = ".";
	String TRUE = "true";
	String RQKEY_JB_RQTYPE = "_jb_rqtype_";
	String RQKEY_CTX = "ctx";
	String RQKEY_PMKEY = "pmkey";
	String RQKEY_NEED_ALWAYS_HTTPS = "need_always_https";
	String RQKEY_BASEPATH = "basepath";
	String JBOLT_BASE_UPLOAD_PATH_PRE = "JBOLT_BASE_UPLOAD_PATH_PRE";
	String JBOLT_GLOBAL_UPLOAD_TO = "JBOLT_GLOBAL_UPLOAD_TO";
	String RQ_HEAD_KEY_JBOLTAPI = "JBOLTAPI";
	String RQ_HEAD_KEY_XPJAX = "X-PJAX";
	String RQ_HEAD_KEY_AJAXPORTAL = "AJAX-PORTAL";
	String RQ_HEAD_KEY_AJAX_DOWNLOAD="AJAX-DOWNLOAD";
	String RQ_HEAD_KEY_XREQUESTEDWITH = "X-Requested-With";
	String RQ_HEAD_KEY_ACCEPT = "Accept";
	String RQ_HEAD_KEY_CONTENT_TYPE = "Content-Type";
	String RQ_CONTENT_TYPE_JSON = "application/json";
	String XMLHTTPREQUEST = "xmlhttprequest";
	String RQ_TYPE_DIALOG = "dialog";
	String RQ_TYPE_DIALOG_STR = "_jb_rqtype_dialog";
	String RQ_TYPE_IFRAME = "iframe";
	String RQ_TYPE_IFRAME_STR = "_jb_rqtype_iframe";
	String[] RESOURCE_SUFFIXES = { ".js", ".css", ".map", ".ico", ".jpg", ".png", ".jpeg", ".gif", ".webp", ".pdf",
			".zip", ".doc", ".docx", ".ppt", ".pptx", ".xls", ".xlsx", ".rar", ".mp4", ".flv", ".mp3", ".wav", ".avi",
			".3gp", ".aoc" };
	String UNLOCKSYSTEM_ACTION_URL = "/admin/unLockSystem";
	String IMG_NOTHING_BASE64 = "";
	String IMG_NOTHING_BASE64_FILE = "/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAABEAAD/4QMvaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjYtYzE0NSA3OS4xNjM0OTksIDIwMTgvMDgvMTMtMTY6NDA6MjIgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE5IChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo1MjJDNDY2MTZGOEMxMUVCQTBGOUMxM0YxRDRFREQ3NiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo1MjJDNDY2MjZGOEMxMUVCQTBGOUMxM0YxRDRFREQ3NiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjUyMkM0NjVGNkY4QzExRUJBMEY5QzEzRjFENEVERDc2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjUyMkM0NjYwNkY4QzExRUJBMEY5QzEzRjFENEVERDc2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+/+4AJkFkb2JlAGTAAAAAAQMAFQQDBgoNAAAHEgAACGoAAArI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";

	/**
	 * config.properties配置文件中配置db_type数据库类型的键KEY 名字
	 */
	String CONFIG_PROPERTIES_KEY_DB_TYPE = "db_type";
	String DEFAULT_PRIMARY_KEY_NAME = "id";

	/**
	 * 登录用户sessionkey
	 */
	String JBOLT_SESSIONID_KEY = "jboltid";
	/**
	 * 登录用户keeploginKey
	 */
	String JBOLT_KEEPLOGIN_KEY = "jbolt_keeplogin";
	/**
	 * 登录用户session refresh token
	 */
	String JBOLT_SESSIONID_REFRESH_TOKEN = "jbolt_refresh_token";
	/**
	 * 保持登录默认时间值7天
	 */
	int JBOLT_KEEPLOGIN_DEFAULT_SECONDS = 604800;
	/**
	 * 不保持登录默认时间值 8小时
	 */
	int JBOLT_NOT_KEEPLOGIN_DEFAULT_SECONDS = 28800;
	/**
	 * 多久没操作自动锁屏默认时间值15分钟
	 */
	int JBOLT_AUTO_LOCKSCREEN_DEFAULT_SECONDS = 900;
	/**
	 * 后台登录页面进入的action的actionKey
	 */
	String JBOLT_ADMIN_LOGIN_ACTION_KEY = "/admin/login";
	/**
	 * 后台进入提示异端登录的页面进入的action的actionKey
	 */
	String JBOLT_ADMIN_TERMINAL_OFFLINE_ACTION_KEY = "/admin/terminalOffline";
	/**
	 * 后台进入提示强退下线的页面进入的action的actionKey
	 */
	String JBOLT_ADMIN_FORCED_OFFLINE_ACTION_KEY = "/admin/forcedOffline";
	/**
	 * 后台进入锁定屏幕的action的actionKey
	 */
	String JBOLT_ADMIN_REDIRECT_TO_SCREENLOCK_PAGE_ACTION_KEY = "/admin/redirectToScreenLock";
	/**
	 * 后台登录页面默认file
	 */
	String JBOLT_ADMIN_LOGIN_DEFAULT_FILE = "login.html";
	/**
	 * tableBind 里id sequence默认值
	 */
	String JBOLT_ID_SEQUENCE_DEFAULT = "default";
	/**
	 * sqlserver schema默认dbo
	 */
	String JBOLT_SQLSERVER_SCHEMA_DEFAULT = "dbo";
	/**
	 * caffeine cache 默认 initialCapacity
	 */
	int CAFFEINE_CACHE_DEFAULT_INITIALCAPACITY = 100;
	/**
	 * caffeine cache 默认 maximumSize
	 */
	int CAFFEINE_CACHE_DEFAULT_MAXIMUMSIZE = 1000;
	/**
	 * caffeine cache 默认 expireAfterAccess 分钟
	 */
	int CAFFEINE_CACHE_DEFAULT_EXPIREAFTERACCESS_MINUTES = 30;
	/**
	 * redis不过期值
	 */
	int REDIS_EXPIRES_NONE = -1;
	/**
	 * redis不过期配置key
	 */
	String REDIS_EXPIRES_KEY = "expires";
	/**
	 * 默认数据库密码盐
	 */
	String DEFAULT_DATABASE_PASSWORD_SALT = "jbS8TfNUD2tdDkeLGjNybj4R31FFth0Pmtolt";

	/**
	 * 动态代理 jfinal_proxy
	 */
	String JBOLT_PROXY_TYPE_JFINAL_PROXY = "jfinal_proxy";

	/**
	 * 动态代理CGLIB
	 */
	String JBOLT_PROXY_TYPE_CGLIB = "cglib";

	/**
	 * 动态代理JAVASSIST
	 */
	String JBOLT_PROXY_TYPE_JAVASSIST = "javassist";

	/**
	 * 默认动态代理使用什么方式 默认jfinal_proxy
	 */
	String JBOLT_DEFAULT_PROXY_TYPE = JBOLT_PROXY_TYPE_JFINAL_PROXY;

	@SuppressWarnings("serial")
	Map<String, String> JAVA_TYPE_MAP = new HashMap<String, String>() {
		{
			put("java.lang.String", "String");
			put("java.lang.Integer", "Integer");
			put("java.util.Date", "Date");
			put("java.sql.Time", "Time");
			put("java.lang.Boolean", "Boolean");
			put("java.math.BigDecimal", "BigDecimal");
			put("java.lang.Long", "Long");
			put("java.lang.Double", "Double");
			put("org.postgresql.geometric.PGpoint", "PGpoint");
			put("org.postgresql.geometric.PGcircle", "PGcircle");
			put("org.postgresql.geometric.PGline", "PGline");
			put("org.postgresql.geometric.PGlseg", "PGlseg");
			put("org.postgresql.geometric.PGpath", "PGpath");
			put("org.postgresql.geometric.PGpolygon", "PGpolygon");
			put("org.postgresql.geometric.PGbox", "PGbox");
		}
	};
}
